home *** CD-ROM | disk | FTP | other *** search
- Document Citadel.Guide
- @REMARK : Citadel.guide 1.0 (27.11.94)
- 1. MAIN
-
- The documentation contained is a collection of information
- based on the original Citadel 86 documentation by Hue, JR. The
- mistakes are mine.
-
- It is pretty much a complete reference manual and every attempt
- is being made to make this a complete manual with all details
- explained so that even the most novice of users can understand how
- to setup and run a bbs. The most important thing is to read this
- documentation and give it a try!
- 2. Citadel History
-
- What is Citadel? Citadel is a Freeware project. The source,
- executables and all the documentation are available for no cost to
- you. If you paid for this, someone is ripping you off.
-
- Citadel was written in mid-December 1981 by CrT. Miraculously,
- it ran three days unattended over New Year's, collecting some
- remarkably favorable reactions. During the months that it ran at
- 633-3282 (ODD-DATA), Citadel became one of the more popular BBs in
- town, and there was some disappointment when a hardware failure
- forced the system down in February of 1982. But in January CrT had
- published the source code in BDS C, putting it in the public
- domain.
-
- David Mitchell brought up the next incarnation of the Citadel
- program in April of 1982, running on hardware provided by Richard
- Knox. Called the Island Communication System, it is located on
- Bainbridge Island in Puget Sound. ICS has about 30 regular users
- and about 120 log entries. Newcomers find it easy to learn, and
- often leave messages praising it. Some of the system's daily users
- are in Boston.
-
- Citadel is descended from DandD.pas, an adventure game
- editor/driver. It is arranged as a series of rooms, starting with
- the LOBBY. In each room the user can read existing messages and
- leave more. The system was brought up with only one room, the
- LOBBY. Additional rooms were created by the users, with room names
- appropriate to the topics covered.
-
- Environment: Citadel has had a checkered past. It first ran
- on a 64K Heath H89 with Magnolia CP/M, Hayes Smartmodem (plus an
- acoustic on another port) and BDS C V1.32.
-
- As time went on, Citadel was ported to the Amiga, Atari, and
- even the MAC. Citadel runs on many platforms and since the source
- is available will probably run on most future ones too.
- 3. What is Citadel-68K
-
- Citadel-68K(also know as Amiga Citadel) is a single user BBS
- program. It is a direct decendant of the 3.42 Citadel 86 by Hue, JR
- in Minnesota.
-
- Citadel comes in two flavors, a 68000 based version that will
- run on any Amiga and an optimized 68030 based. Citadel is able to
- run on any Amiga model and under any OS from 1.2 to the latest. The
- CTDL(main BBS executable) and CONFG(BBS configuration tool) come in
- the two forms, the utilities come in the 68000 version only. The
- Amiga Citadel is a direct port from the IBM Citadel 86 by Hue Jr.
- It originally was done by Jay Johnston, who did not have the time to
- continue it so I, Tony Preston now maintain it. I don't have the
- time either, but I try...
- 3.1. Support Systems
-
- Probably the hardest part of running a Citadel is getting
- started. Citadel is not the most common of BBS programs even though
- it is free.
-
- You should be able to read this document and setup your
- configuration file, run `CONFG' and then startup the BBS with no
- problems. Since this rarely happens and having a helping hand from
- someone that has already done what you are trying to do can make
- things easier, you might want to try one of these three places for
- help and information.
-
- The first is The Amiga Zone, my BBS(609-953-8159). It is
- available 24 hours and is where you will find the most support and
- help. I will often chat with people that call for help and alway
- try to answer mail messages promptly. Since calling long distance
- may not be an option for you, check around in your area and see if
- you can find a local Citadel where you can take major advantage of
- the networking features built into Citadel! The `C86Net' contains
- several support rooms where you can post your questions and usually
- get quick answers. These rooms are "Citadel 68K" and "Sysop Only".
- If your local sysop will let you have some Long Distance credit you
- can send me domain mail at "tony preston@The Amiga Zone.NJ". You
- will learn more about domain mail later. There are many Citadels
- active on the network so you might check the `BBS List' included in
- this document to see if one is local to you. finally, you can send
- me mail via Internet. I will answer the mail quickly monday thru
- friday. Anything sent over the weekend will wait till monday. you
- can reach me at "apreston@isd.csc.com" or
- "tony-preston@cup.portal.com".
- 3.2. Hardware required
-
- The minimum configuration for `Citadel' is a 512K Amiga with 2
- floppies. This will allow you to run the BBS, but probably not much
- more. There are some people that have run Citadel on such a small
- system. Most either expand their system or just quit running it. 1
- MB of memory and a hard drive is really the practical limit. I have
- created and ran a test bbs on an A500 with 1 MB of memory and 2
- floppies. I would recommend that you have 2 MBs and as a minimum a
- 20 MB HD for the BBS.
- 3.3. Requirements
-
- Citadel will run on any Amiga Model. There are some minor
- problems with running CONFG and fast memory on A3000s and A4000, but
- the work around is simply to run NOFastMem before running CONFG.
- These may be fixed at any time, but since I do not have an A3000 or
- A4000, I can't look for the problem.
-
- Citadel does not need any external support software to run. It
- relies on the Operating System for 100% of the normal functions and
- is compatible with 1.2 through to the latest OS.
-
- Citadel does not use alot of stack space, but will require that
- you have your stack set to 8K or larger. 8K is more than enough for
- even the largest and most complex Citadel. Citadel will make sure
- you have at least an 8K stack or it will quit with a `Citadel
- Error'.
-
- It is important to note is that you really should plan on a 24
- hour BBs, with a dedicated phone line. A BBS that is available from
- 11pm to 6am is not going to be very popular. I would suggest that
- you do not even consider networking unless your BBS is on a regular
- schedule.
- 3.4. Citadel Error
-
- Citadel is a complex system of functions. In any complex
- system, things go wrong. Citadel attempts to validate most things
- when it starts up.
-
- Once you have the BBS up and running, you still may run into an
- occasional problem. The first thing to do is to collect sufficient
- information on what exactly is going on. Many times, if you look at
- the data you might be able to solve the problem youself!
-
- In general, if you get an error and this information does not
- tell you how to correct it, collect as much information as possible
- and report what happended either directly to me or in the Citadel
- 68k room. The first thing to look for is a file called `debug.sys'
- or `crash.sys'. These files should appear in either your audit
- area, the home area, or the location you started up Citadel. I
- usually will want the information in these files(even if it is just
- a cryptic one line message like "dependant variables mismatch",
- sometimes it tells me exactly where the problem is). The second
- thing I will tell you to do is turn on debug, Here is a general
- method I end up telling people:
-
- 1) go into the Sysop menu, turn on debug "D" option. You
- can also do this by typing ^D in the console window.
-
- 2) Shut down your Citadel, "X" option.
-
- 3) delete debug.sys in the audit area(or save it if it
- contains info I might need. At the least, edit the file and
- add some markers (like two lines of asterisks) at the end of
- the file.
-
- 4) Bring up Citadel and attempt to reproduce the problem.
- If you cannot do it locally, you might even ask a remote user
- to do it for you. leave debug on. Note: If you run confg,
- debug is automatically turned off, repeat the above steps to
- turn it on again.
-
- 5) archive all the information(using something like lha)
- and arrange to get the information to me. I may call your BBS
- to download the file so make some arrangements in Citadel 68K
- so I know where it is.
-
- The above may generate alot of output. Much of the output is
- cryptic and may not seem like anything understandable. It is mostly
- internal data and is useful to me.
-
- From time to time, other errors may appear when you do
- something that you really should not do(like power down the modem
- and then power it up). These will generate errors like:
-
- Error: [1]IOError = nnnn
-
- Error: [2]IOError = nnnn
-
- Reason: nnnn is a result code returned from a serial
- port i/o, usually a dropped carrier(small timing window
- for a race condition could cause this). The error is
- handled for 99% of the cases in a way that will cause
- Citadel to recover and reset. [1] is the case where I
- check to see what is in the serial port buffer, and [2] is
- when the actual read is done.
-
- Error: Startup Error Code nn
-
- Reason: something went wrong during system
- initialization. The reasons are:
-
- 1 - unable to open intuition.library, you must
- be 1.2 or greater to run Citadel.
-
- 2 - unable to open graphics.library, same as 1.
- This error also used to mean that the req.library was
- not in the libs: directory. This is no longer a
- requirement. Citadel does not depend on the
- req.library(versions 3.42.P15 or later anyway).
-
- 3 - Insufficient Stack space, Citadel versions
- 3.42.E19 and earlier required a large stack, much
- larger than needed (50K). Versions 3.42.P35 and
- later will require a 8K stack or less(I am still
- adjusting the values down). Citadel still requires
- the larger limit just to be cautious.
-
- 11 - Console Open Error. Catch all for console
- window errors If you are using #WBSCREEN, try without
- it.
-
- 25 - Open Serial Port Failed, Well, Citadel
- could not get to the serial port(maybe something else
- has it open. Note: You will not get this error if
- you run Citadel while it is already running since it
- opens the serial port in a shared mode.
-
- 31 - Could not create a Port for timer
- communications, Low memory? Trashed system tables?
- Try a re-boot. This is one of those, "you should
- never get here". If you bug me with this type of
- problem, you had better have a full system
- configuration and alot of details.
-
- 32 - could not create an I/O request. See 31.
-
- 33 - Open timer.device failed. See 31.
-
- Note: In the serial port open errors, and in most
- cases with debug turned on, you will get a text error
- message of the form:
-
- 1: Date - Dos Error:nnnn
-
- 2: (some text as to what happened)
-
- 3: (some text as to what happened) <-- you may get
- only one line.
-
- 4: Reason: <error text>
-
- 5: Current Directory
-
-
- Line 1: is the internal error code(less than 100), or
- the Dos error code.
-
- Lines 2-3: will either be a command(like in the
- external protocols) and a text line, or just one line of
- text. External commands will display the text and
- command, most errors do not have an external command.
-
- 4: is the reason the error occured(from the Exec
- routine Fault).
-
- 5: is the current directory. This is important if
- you are trying to setup a door for example and in the
- wrong directory.
-
- If the problem is reproducable, do it several times
- and record all possible information, especially your
- system configuration! If it happens just once and you can
- not reproduce it, then still record what you can, check
- things like memory in use, what is running.
-
- Note: If you have a problem that seems to happen often,
- realize that I rarely have a crash. Pleae check to see that
- something else is not causing the problem. Remove commodities,
- other programs and see if you can cause the problem without
- that super-duper-whiz-bang mouse accelerator/screen blanker!
- It probably ain't Citadel! If you are running on a 512K
- system, you may just be running out of memory. While every
- attempt has been made to exit in a friendly manner, no
- guarentees...
- 3.5. Limits
- For the most part,`Citadel' only has your imagination as the
- limits... In practicality, there are some real physical limits you
- will have. Each of these limits can be difficult to adjust later so
- some planning is important at this point. You must set a limit on
- the number of users (`#LOGSIZE'), rooms (`#MAXROOMS'), and messages
- (`#MESSAGEK'). These parameters will directly determine the amount
- of memory used while the BBS is running and the disk space needed to
- support the message base and userlog.
- 4. CONFG
-
- To setup the BBS, you must first configure your system. This
- means taking the example configuration and tayloring it to your
- liking. The example is based directly on `The Amiga Zone'. The
- first thing you must do is chose a name for your BBS (`#NODENAME'),
- a default banner (see `banners' and `#NODETITLE'), enter in your
- Identification (`#NODEID'). It is this basic information that users
- and other Citadels will know your bbs by. Once you have an idea of
- what the theme of your BBS is, you can apply it to the initial room
- (`#BASEROOM'), and floor (`#MAINFLOOR'). These will be the initial
- place that people are located at when they login to your BBS. Now
- comes the real work. You must decide some `basic system parameters'
- that will define how much disk space your system will use. This is
- important since the smaller the message base is, the quicker
- messages will scroll off. Citadel has a fixed message base so that
- once you configure your system, the disk space usage is constant.
- You will never run out of message space, the BBS will reuse the
- existing space deleting the oldest messages to make room for the new
- ones.
-
- Next we have the `USERPARAMETERS' which define the default
- `PRIVILEGES' for your users. These determine how open your system
- is(can a user create their own account or do you do it?). Whether
- people are able to use doors, or post messages to the network. If
- you restrict people, then they will have to ask you for the
- privilege(and you will have to give it to those you choose). If you
- make them the default, people will get them automatically, you then
- do not have to do anything. I setup my system to be as automatic as
- possible. People can create their own account and do not need to be
- validated. The example setup is configured that way. The most
- important user is the SYSOP, You. There are some parameters that
- make your life easier. the `sysopparameters' will take care of
- those. Now we get to `Network' parameters which you can skip
- initially, but will eventually want to look into. Get your BBS up
- and running first before you worry about that.
-
- The basic BBS has several `areas' you will want to setup. Most
- people will setup a logical assignment that is the root of the BBS
- disk area (called `#HOMEAREA') and make everything a subdirectory
- off of that. Citadel is pretty flexible, if you are running from an
- A500 with 2 floppies, it will run, even if the size will be small!
-
- CONFG is simple to run. Once you have created the
- `CTDLCNFG.SYS' file, you just run CONFG in the same directory. It
- will read each line, and report any errors. If there are errors, it
- will stop after the last line is read. If no errors, it will finish
- up its processing, possibly ask you some questions and create all
- the required files.
- 4.1. SYSOPPARAMETERS
-
- 4.2. USERPARAMETERS
-
- User parameters is a catch all for most of the parameters
- related to user. Since the BBS is about users, nearly everything
- could be put into this catagory. There are three sets of
- parameters. The first is the `unlogged users' parameters. This is
- all the parameters relating to a user that has not logged in yet.
- The second is the `PRIVILEGES', the values given to a new user when
- their account is created. The last is the `user characteristics'.
-
- Each of these parameters must be setup and will define the way
- your BBS operates.
- 4.3. unlogged users
-
- When a user first calls the BBS, they will get a set of default
- parameters that will define how the BBS operates until they login or
- create an account. If you do not allow them to create an account on
- their own, they will have to send you mail and you will have to do
- this manually(called account validation). Citadel allows you to
- operate either way. For unlogged users, the parameters are:
-
- `#UNLOGGED-WIDTH' - The default width of a line
-
- `#LOGINOK' - Open/Close system control
-
- `#ENTEROK' - Can users enter messages while not logged in?
-
- `#READOK' - Can users read messages while not logged in?
-
- `#ANON-MAIL-LENGTH' - Limit on anonymous mail length to prevent `RUGGIES'
-
- `#LOGIN-ATTEMPTS' - Limit on how many times a user can make a mistake
- 4.4. PRIVILEGES
-
- This section defines the user privileges, defaults and all
- related parameters. These parameters will save you some time and
- effort. If you have doors and want everyone to be able to play, it
- does not make sense to have to give everyone the privilege. Instead
- use these parameters to set the defaults.
-
- `#DOORPRIVS' - Allow new users to have access to doors
-
- `#ROOMOK' - Allow users to be able to create new
- rooms.
-
- `#ALLMAIL' - Control who can use mail
-
- `FILE-PRIV-DEFAULT' - Allow users to have file up/down load
- access
- 4.5. user characteristics
- 4.6. #BASEROOM
-
- Citadels always have a minimum of three rooms. There is the
- `Aide room', `Mail room', and the initial room a caller starts out
- in called the base room.
-
- Historically, the initial room was always called The Lobby.
- Most Citadels today have this configuration parameter which allows
- you to name that initial room.
-
- This parameter is a string value obeying formatting directives
- and goes through the Citadel formatter, and you must limit yourself
- to 19 characters or less for this value. And one more note --
- Citadel will append the '>' to this name when it prints the room
- prompt for this room, you don't have to put it in yourself. If you
- wished to emulate the old CP/M Citadel, you'd set baseRoom thus:
-
- #BASEROOM "Lobby"
-
- There is no default for this parameter.
- 4.7. #MAINFLOOR
-
- MainFloor is analogous to #BASEROOM. Most Citadels have a base
- floor, just as it has an Aide> room, etc. This parameter allows you
- to name this base floor. This parameter is a string value which
- cannot be longer than 19 characters, and specifies the name of your
- base floor. So, if you want to name your base floor MAIN FLOOR,
- you'd have
-
- #MAINFLOOR "MAIN FLOOR"
-
- There is no default value for this parameter.
- 4.8. areas
-
- The BBS is organized into what is called areas. These are
- directories that either Citadel creates files in, or uses to recieve
- temporary files from a network session, or user action. There are
- parameters for each of the major areas.
-
- `#HOMEAREA' - The root location of the BBS.
-
- `#HELPAREA' - Help files(`.HLP'), menus, and banners
-
- `#LOGAREA' - User data files
-
- `#ROOMAREA' - Room related files
-
- `#MSGAREA' - Message base
-
- `#FLOORAREA' - Floor related files
-
- `#AUDITAREA' - User, Door, and File activity
-
- `#HOLDAREA' - Hold area for user messages
-
- `#EDIT-AREA' - Editor area for a sysop editor(console only)
-
- `#NETAREA' - Network files area
-
- `#NET_RECEPT_AREA' - Receiving area for files sent to you
-
- `#DOMAINAREA' - Domain data files area
-
- The `CONFG' program will require that you define each area and
- will create the directory if it does not exist.
- 4.9. #HELPAREA
-
- This parameter specifies where all of your Help files will be
- located. These files are *.HLP, *.BLB, and *.MNU. Normally, you
- should create this directory and place the help files in the
- directory before bringing up Citadel-86, since help files are
- usually online at all times.
-
- #HELPAREA "cit:helps"
-
- The help files, menus and default bulletins are in the
- cithelps.lha file in the Citadel Documentation room. You will have
- to do some customization of these files for your system. If you
- find an error or re-write the contents of a file, try to return that
- file so that others will benifit from your work.
- 4.10. #LOGAREA
-
- This parameter specifies the location of your `CTDLLOG.SYS'
- file (this file is sized by your `#LOGSIZE' parameter).
-
- #LOGAREA "cit:users" -- put it in a general system dir
- 4.11. #ROOMAREA
-
- This parameter specifies the location of `CTDLROOM.SYS',
- `CTDLARCH.SYS', and `CTDLDIR.SYS'.
-
- #ROOMAREA "cit:room" -- another general system dir
- 4.12. #MSGAREA
-
- This parameter specifies the location of `CTDLMSG.SYS'. It is
- also the location of the special Citadel message file
- `CIT_MESSAGES.SYS'. Citadel will create the message file when you
- run `CONFG', the other file is supplied with the executable
- archive.
-
- #MSGAREA "cit:messages" -- give msgs there own place
- in the sun
- 4.13. #FLOORAREA
-
- This parameter specifies the location of `CTDLFLR.SYS'.
-
- #FLOORAREA "cit:floors"
- 4.14. #AUDITAREA
-
- This parameter is a string value parameter specifying a
- directory which will hold the audit files. If this parameter is not
- present in your `CTDLCNFG.SYS' file, then the audit files will not
- be created or updated by Citadel.
-
- The audit files are usually text files of information on how
- the BBS is running. For example there is a file (`CALLLOG.SYS')
- which shows information on the callers. Another file keeps track of
- door usage (`DOORUSE.SYS'), and another one the file up/download
- information (`FILELOG.SYS').
-
- #AUDITAREA "c:audit" -- This can only be a subdirectory
- 4.15. CITMESSAGES.SYS
-
- This file contains most of the Citadel BBS messages. The BBS
- references the text via the Message code. This allows the SYSOP the
- maximum flexibility in configuring their BBS. You can use the
- standard messages, or customize them to your heart's content.
-
- The Message file is formatted into one line per message. The
- first 8 columns may be A "#" for a comment line, or a message code.
- THE "#" in column 1 will cause the rest of the line to be ignored.
- Column 9 is blank, for readability, and columns 10 to 79 are the
- message text. If the message text starts with an "@", the message
- text is taken to be a filename and that file will be read instead as
- the message text. This will allow you to have more than one line in
- a single message. The message codes end in either EX for expert
- user messages, or NO for novice user message. If no EX version
- exists, the BBS will automatically use the NO version. If neither
- one exists, the BBS will display "***ERROR CODE nnnnnnnn" where
- nnnnnnnn is the missing message. If these occur, just create the
- appropriate message and add it to the file. If you find any message
- codes in the original file missing, then notify the Amiga Zone.
-
- One of the reasons for the message formatting is to get system
- dependant information from the BBS by using special variable names.
- These names are listed below:
- Variable Description
- ^variant Name of this Citadel Variant such as "Citadel 68K"
- ^version Major Version Id of Citadel
- ^sysvers Minor Version Id of Citadel
- ^baseroom The baseroom of your BBS
- ^sysop The name of the Sysop
- ^nodetitle The BBS Node Title
- ^nodename The BBS Node Name
- ^nodedomain The Domain the BBS is considered part of
- ^nodeid The BBS Node Id
- ^mainfloor The Floor that contains the BaseRoom
- ^curruser The name of the Current User.
- ^ulprotocols A list of the Protocols usable for uploading
- ^dlprotocols A list of the Protocols usable for downloading
- ^doorlist A list of the Doors available in the current room
- ^lastuser The last caller's name
- ^privileges A list of the privileges you currently have.
- ^callcount The number of calls this Citadel has recieved.
- ^ia1 Special Integer Argument #1 (see below)
- ^sa1 Special String Argument #1
- ^ia2 Special Integer Argument #2
- ^sa2 Special String Argument #2
- ^ia3 Special Integer Argument #3
- ^sa3 Special String Argument #3
- ^currtime The current time
- ^currdate the current date
- ^s A single space
- ^n A newline followed by a space
-
- The Special Arguments are pieces of data that are used in some
- of the existing messages. Currently the 3rd one is not used(but may
- be). Most of the messages do not use them, but those that do should
- probably continue to use them. You can remove the special variable
- from the messages that currently do use them, but adding them to a
- message that does not will get you a zero for an interger argument
- and nothing for a string argument.
-
- It is best to keep the original message file around to check to
- see what was available for the code.
- 4.16. CALLLOG.SYS
-
- CALLLOG.SYS contains three types of notes. The first type
- lists when the system has come up and down.
-
- The second type records who has called, listing login and
- logout times, one line per person, in the following format:
-
- <person> : <login time> - <logout time> <baud rate>
-
- Occasionally such a line will have an extra character appended
- onto it, and they have the following significance.
-
- '+' The user logged in as new.
-
- '-' The user used .TS to logout.
-
- 'T' The user timed out on the system.
-
- 'E' The user hit the error limit on the system and was kicked off.
-
- 'B' The system kicked the user off for too many offenses against `BADWORDS.SYS'.
-
- 'C' The user tried to chat with you.
-
- The third type of message in CALLLOG.SYS are notes regarding
- network sessions, both normal and anytime-net. These record on a
- single line the start and end times of the net sessions. This
- particular message can be disabled by using the #CLEAN-CALLLOG
- parameter.
- 4.17. FILELOG.SYS
-
- FILELOG.SYS format is somewhat different. Generically, it
- looks like this:
-
- <user name> @ <baud rate>
-
- file1 (n bytes) <roomname> <U or D> <start to end> <length>
- <protocol>
-
- [FAILED]
-
- file2 (n bytes) <roomname> <U or D> <start to end> <length>
- <protocol>
-
- [FAILED]
-
- This format keeps the number of user names down. "n bytes" is
- the size of the file. "roomname" is the room involved. "U or D"
- refers to whether the named file was Uploaded or Downloaded. "start
- to end" refers to start time and end time of the file session, while
- length is the amount of time involved. Protocol will be one of the
- three XMODEM, YMODEM, or WXMODEM, or an external one you have
- setup. "FAILED" will only appear on the line if the transfer
- failed.
- 4.18. DOORUSE.SYS
-
- DOORUSE.SYS simply lists who used what doors for what amount of
- time at what time of the day. It appears in the `#AUDITAREA'.
- 4.19. #HOLDAREA
-
- Citadel has an optional capability to save a user's messages,
- put them on hold so to speak. This can be because the user lost
- carrier while entering a message, or told the BBS to Hold the
- message for later. The reason this is optional, is that if you do
- not specify this area, a user will not be able to use this option
- and any message held will be lost when the user terminates the
- session. A held file takes about 8K bytes of space on the disk. It
- is possible that every user could have a held message at one time,
- each is uniquely identified so in figuring disk space, this should
- be remembered.
-
- #HOLDAREA "hold"
- 4.20. #EDIT-AREA
-
- The optional edit area goes along with the sysop editor
- directive `#EDITOR' which is used to define a directory where the
- BBS will put the temporary message file and run the sysop
- editor(this is for the console user only). This is like any BBS
- area.
-
- #EDIT-AREA "RAM:"
- 4.21. #EDITOR
-
- This is the command that is used to run the optional Console
- user editor. When a user is logged into the console, this command
- is used to invoke the external program to edit the message text(will
- be written to tempmsg.sys in this area). This command should
- specify any options needed to make the editor run and have the BBS
- pause while the editor is running(some editors will release the task
- as soon as they startup which will make Citadel think your done
- editing).
-
- #EDIT-AREA "TTX WAIT"
- 4.22. #NETAREA
-
- This command tells the BBS where to put the files that are
- related to the network process. It is like any other BBS area.
-
- #NETEAREA "NET"
- 4.23. #NETRECEPTAREA
-
- This is a special BBS directory that is used to store all files
- sent to your system by another system during a network session.
- When a system uses the Send File faculty(not the same as requesting
- a file over the network).
-
- #NET_RECEPT_AREA "Recieving"
-
- Files sent to your BBS using the utility `AFF' will appear in
- this area. In addition, the parameters `#NET_AREA_SIZE' and
- `#MAX_NET_FILE' will be used to limit the amount of files and the
- largest file in this area.
- 4.24. #NETAREASIZE
-
- This parameter controls the total amount of space you wish to
- allow files coming into your system via the net(Send File Command).
- This is the limit on files being sent to your without you asking.
- If this area fills up to this size, additional files will be
- rejected.
- 4.25. #MAXNETFILE
-
- This parameter controls the size of the largest file your will
- allow to be sent to you during a network session. Files larger than
- this size will be rejected.
- 4.26. #DOMAINAREA
-
- This parameter specifies the area where Citadel will put the
- domain related temporary files. The files in this area are
- dynamic. Citadel will create them as needed and maintain them
- totally. You will not need to worry about these files unless there
- is a problem with domain mail and you are the server for your
- domain. This is a fairly advance topic and not covered in this
- document. Eventually, there will be a separate document for these
- types of issues.
- 4.27. basic system parameters
-
- The basic system parameters define how many
- `rooms'(`#MAXROOMS'), messages per room(`#MSG-SLOTS'), private mail
- messages per user(`#MAIL-SLOTS'), Size of the message
- base(`#MESSAGEK') and if you will want it encrypted (`#CRYPTSEED').
- You want to give some careful thought to these parameters since any
- choices made now will be a bit painful to modify later. There are
- `utilties' that will allow parameters to be modified, but only to
- increase them. To decrease them requires that you start over by
- deleting the appropriate files and reconfiguring.
-
- I recommend that you keep `#CRYPTSEED' at zero although any
- value can be used. It makes debug easier for me if I grab your
- files plus that value will speed up all the processing. The message
- slots and size of the message base is a little cryptic. If you have
- 100 slots, then Citadel will remember the last 100 messages in each
- room. Mail has a separate value, but it is the same idea. With 100
- rooms, you have 10,000 active messages possible in the system. With
- messages sizing from 500 bytes to 7500 bytes, you could have a
- message base of 5,000,000 to 75,000,000! Typically the average
- message is alot closer to the 500 bytes size. The 600K size here
- gives me a file that is 1217 blocks in size(614400 bytes). This
- would actually fit on a floppy if you wanted(although it would
- pretty much fill the floppy). You can make these pretty much any
- value you want, the larger the value the more the disk space
- needed. A reasonable approximation for messagek is:
-
- ( MSG-SLOTS + MAIL-SLOTS ) * 2.75K
-
- ( 120 + 99 ) * 3K = 602.25
-
- You can use more..... For the larger sized system, use 7.5K
- and get 1604K... The practical limit is 4095K
- 4.28. #CRYPTSEED
-
- CRYPTSEED is a value used in encrypting the data files. Choose
- a value when you install the system, but not thereafter -- or you
- won't be able to read the existing files any more. If you use a
- value of zero, none of the data files will be encrypted. This has
- little value since you as SYSOP can access anybody's account and
- read any message, there is no privacy. I recommend using zero. You
- should not allow any of the system files to be downloaded and this
- is the only protection you have if you do. It is better to keep the
- users out of the data files. Using zero has an additional benifit
- that your system will be slightly faster. If you use a non zero
- encryption seed, all the data files will be encoded. An example
- is:
-
- #CRYPTSEED 1234
-
- It is important that you do not change this value. If for some
- reason you should lose your `CTDLCNFG.SYS' file, run the `VERIFY'
- utility and it will display not only this value, but the value of
- all the important data from this file. Without this data item, you
- will not be able to reconfigure your BBS. This is important since
- if the bbs should crash, or your system should go down while the bbs
- is running, you have to run the CONFG utility to recreate the data
- file `CTDLTABL.SYS'. Without that file, the BBS will not run.
- There is only one parameter on the command line. If it does not
- match "onlyParams" or "FirstInit" then CONFG will assume you are
- re-initializing the BBS. "FirstInit" assumes that you want to
- create the BBS from scratch initializing all the files as if
- creating a new BBS. This means that if you already have a BBS up
- and running, all the data files will be re-created and initialized
- as empty(i.e all existing users deleted, all messages gone). You
- can use this the first time and CONFG will not ask you any questions
- about creating this file or that one... Once you have a running BBS
- and you need to modify certain parameters(see `Safe Configuration
- Parameters')
- 4.29. Safe Configuration Parameters
-
- These parameters control characteristics of the BBS and not
- file sizes. You can modify these at any time by changing the value
- in the `CTDLCNFG.SYS' file and then running "CONFG ONLYPARAMS". To
- do this, change the file, bring the BBS down, then run CONFG and
- then restart the BBS.
- 4.30. #NODEID
-
- As mentioned, this parameter is a network parameter that has
- traditionally always been set, even for non-network Citadels. If
- you have no plans to ever be on a `C86Net', Then this is not real
- important.
-
- If you do plan to join the `C86Net', (we'll go over this in
- more detail in the section on `Networking'), then you do have to set
- this parameter correctly. The format of this parameter is
-
- "<Country code><Area Code><Phone number>"
-
- all of which applies to the phone your system resides on.
- Country code is a two letter sequence indicating what country you
- live in (US is the United States, CA is Canada. Other country codes
- may be found in COUNTRY.DOC). Area code is the area code of your
- system (yes, we are aware there is a clear bias towards US-style
- telephony). And Phone number is, of course, the phone number your
- system is on. You can put punctuation (such as parenthesis and
- dashes), but please be conservative with them. This string value
- does not obey formatting directives. Here's a fairly generic
- example:
-
- #NODEID "US (609) 953 8159" -- Some system somewhere..:)
-
- Other systems will use your node id to call you for
- networking. It will be how other systems identify your system's
- messages.
- 4.31. #NODENAME
-
- nodeName is, in reality, purely a network parameter, and if you
- have no plans to ever join a `C86Net', then there is no need to fill
- in this parameter. However, it has always been traditional, even
- before there was a net for any Citadel system anywhere, to fill in
- this and the `#NODEID' parameter. nodeName is a string value which
- does NOT accept formatting directives (i.e., formatting directives
- will be ignored). It can be no longer than 19 letters long. It
- should be a short, mnemonic name for your system. An EXAMPLE of a
- reasonable value:
-
- #NODENAME "ODD-DATA" -- The original Citadel
-
- If you ever do join a `C86Net', messages from your system
- appearing on another Citadel-86 node will look something like this
-
- 82Nov23 from Cynbe ru Taren @ODD-DATA
-
- except ODD-DATA would be replaced with your value for
- #NODENAME.
- 4.32. #NODETITLE
-
- The first parameter you should find is called nodeTitle. It is
- a string value obeying formatting directives, and is subject to
- formatting considerations. nodeTitle is the title of your
- installation printed when carrier is detected on your system. More
- precisely, nodeTitle will show up in the following place on your
- system:
-
- Welcome to <#NODETITLE>
-
- However, nodeTitle may not necessarily be printed at this
- point. After successfully bringing your system up, please consult
- the section on Help Files for more information on banner options.
- EXAMPLE:
-
- #NODETITLE "Test System\n Truly a Heaven in Reverse" The
- #NODETITLE is printed out on .Read Status commands, also. There is
- no formal limit on the length of this parameter.
- 4.33. banners
- 4.34. The Amiga Zone
-
- The Amiga Zone is the primary support BBS. The number is (609)
- 953-8159. There are other Citadels that will help the budding Sysop
- out, but this is the place you will find the latest and greatest
- version of Citadel, CONFG, and the Utilities. In addition to
- calling direct, you should think about networking the Citadel 68K
- room. This is the place where comments, bug reports, and other
- issues are discussed. The Amiga Zone will feed the room to any
- Citadel that wishes to network, however, the Amiga Zone will not
- call out for a network session unless the system is local. You will
- have to pay for the calls. This does not amount to much if you call
- a few times a week. Fortunately, there are about 200 Citadels in
- the USA and Canada, you might find a local system to network with,
- or one that costs less than the Amiga Zone to network with. If you
- wish, I will answer questions at my internet address
- "apreston@isd.csc.com" or "tony-preston@cup.portal.com".
- 4.35. #LOGSIZE
-
- This numerical parameter gives you the ability to decide how
- many accounts will be available on your system. If you run a system
- in which more accounts are used than there are accounts reserved,
- then new accounts are generated by killing old accounts. Accounts
- are recycled by finding the account who's last use is the oldest of
- all the accounts in the system, under the assumption such an account
- is no longer active.
-
- All space is reserved immediately for these accounts. The size
- of this file can be estimated from the formula(this includes a
- possible held file for every USER).
-
- # of bytes = LOGSIZE * (82 + MAXROOMS + (6 * MAIL-SLOTS) +
- 8092)
-
- so if you are operating in a restricted environment, plan
- accordingly. If you need to, you can expand the size of the log
- through the use of the `DATACHNG' utility, but the log cannot be
- shrunk. This is a numerical value. Here is an example:
-
- #LOGSIZE 200
-
- For a system with 100 rooms(`#MAXROOMS'), and 100 mail
- slots(`#MAIL-SLOTS') this would be just over 150K bytes for 200
- users. It should be noted that the larger the logsize, the longer
- the `CONFG' utility will take to re-configure the system. Each
- entry is checked and updated when this is done.
- 4.36. #MAXROOMS
-
- This numerical parameter specifies the maximum number of rooms
- your system will support. Since the baseRoom, Aide>, and Mail> room
- are necessary, the smallest value you can give is 3. The largest
- number is 65536. If you wanted to have a 64 room system, you'd have
-
- #MAXROOMS 64
-
- You can use the following formula to estimate the number of
- bytes a room file will take up on your SYSTEM:
-
- # of bytes = MAXROOMS *(50 + (6 * MSG-SLOTS))
-
- For a system with 100 rooms and 200 message
- slots(`#MSG-SLOTS'), you would need aproximately 125 Kbytes of disk
- space. It should be noted that the larger this is, the longer the
- `CONFG' takes since each room is updated.
- 4.37. #MAIL-SLOTS
-
- This is a numerical parameter specifying how many messages per
- log record you wish to reserve for Mail. The Mail> room is the only
- room in the system whose data is not kept in CTDLROOM.SYS. Instead,
- the file CTDLLOG.SYS contains the "Mail>" room, reserving for each
- account enough room for MAIL-SLOTS Mail messages. Therefore, this
- parameter gives you the ability to decide the maximum number of
- Mail> messages per user they can access. Please remember if a user
- gets more messages in Mail> than there are MAIL-SLOTS between two
- successive logins, then they will lose the earlier messages sent to
- them. Another consideration is many users like to review old Mail
- when engaged in an in-depth private conversation. Therefore,
- setting MAIL-SLOTS to a low value may not be the attractive
- alternative it first seems. However, it should go without saying a
- high MAIL-SLOTS value may eat up more room than necessary on your
- drives. The section on `#LOGSIZE' will give an exact formula for
- how much space your log will take up.
- 4.38. #MESSAGEK
-
- MESSAGEK defines how much disk space you wish to allocate for
- messages on your installation. Because messages can vary in size,
- there is no way to define how many messages you can have in your
- system, or how fast they turnover. All the messages in your system
- will reside in CTDLMSG.SYS, and thus the number of messages in your
- system at any given moment will depend totally on the length of the
- messages being entered into the system by your users. The turnover
- rate of your messages will depend on how busy your system is.
-
- For example, if you reserve 600K for messages, you would have
- an approximate 1200 messages(messages can get as large a 7500
- characters so if you have verbose users, this could be as low as 80
- messages if they were all to the limit, a good conservative estimate
- is 512 characters which gives 1200 messages). If you get 25 callers
- a day and each posted 4 messages, you would have a turnover of about
- 12 days. If you networking and get 25 messages a day in 4 rooms,
- plus these callers, you have a 6 day turnover. The higher the
- volume, the quicker the turnover. When the messages turnover, older
- message space gets reused which means older messages are deleted.
- Shared rooms can have a very high volume.
-
- The sysop of an installation should also keep in mind that very
- large systems, with many new messages, can be intimidating to new
- users, so large message spaces should be approached with caution.
- Remember, there is a utility(`Expand') for expanding the message
- base, but not for shrinking it. The only method available to shrink
- the message base is to delete the existing one and then reset this
- value to a smaller amount. You will lose all the messages(including
- mail) if you do this.
-
- This is a numerical value which you specify in 'K', which is
- actually 1024 bytes/K. So, for example, to specify a 250K message
- file
-
- #MESSAGEK 250 -- 250K message base
-
- The above parameter will require 250 Kbytes of disk space.
- 5. Utilities
- 6. Installation
- 7. C86Net
- 8. BBS List
- 9. Citadel
- 10. Files
- 10.1. debug.sys
- 10.2. crash.sys
-
-